home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 49
/
Aminet 49 (2002)(GTI - Schatztruhe)[!][Jun 2002].iso
/
Aminet
/
util
/
misc
/
ReportPlus.lha
/
ReportPlus
/
source
/
f7.c
< prev
next >
Wrap
C/C++ Source or Header
|
2002-04-15
|
25KB
|
680 lines
#include <exec/types.h>
#include <exec/memory.h>
#include <intuition/intuition.h>
#include <intuition/gadgetclass.h>
#include <libraries/gadtools.h>
#include <dos/dosextens.h>
#include <graphics/gfx.h>
#include <clib/exec_protos.h>
#include <clib/intuition_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/dos_protos.h>
#include <clib/graphics_protos.h>
#define ALL_REACTION_CLASSES
#define ALL_REACTION_MACROS
#include <reaction/reaction.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "rp.h"
#define AMIGA 0
#define MAC 1
#define IBM 2
// from rp.c
IMPORT TEXT IOBuffer[LONGESTFIELD + 1];
IMPORT ABOOL fillwindows, stop;
IMPORT SBYTE page;
IMPORT SWORD y;
IMPORT TEXT asldir[VLONGFIELD + 1];
IMPORT ULONG fillcolour;
IMPORT struct NewGadget Gadget;
IMPORT struct Window* MainWindowPtr;
IMPORT struct Screen* ScreenPtr;
IMPORT struct IconBase* IconBase;
IMPORT struct SharedStruct shared;
IMPORT Object* WinObject[FUNCTIONS + 1];
IMPORT struct Menu* MenuPtr;
MODULE struct
{ ULONG detabulate, unwrap, source, dest, tabsize;
TEXT pathname[VLONGFIELD + 1];
} eol =
{ FALSE, FALSE, IBM, AMIGA, 8, ""
};
AGLOBAL struct Gadget* eol_gadgets[GIDS_7 + 1];
MODULE STRPTR EOLOptions[4] =
{ (STRPTR) "LF (Amiga)",
(STRPTR) "CR (Macintosh)",
(STRPTR) "CR+LF (IBM-PC)",
NULL
};
MODULE ABOOL spaceeol(TEXT nextchar);
AGLOBAL void eol1(void)
{ struct Hook Hook7Struct;
/* Create the window object. */
lockscreen();
gadtools();
InitHook(&Hook7Struct, Hook7Func, NULL);
if (!(WinObject[7] = NewObject(WINDOW_GetClass(), NULL,
// window
WA_PubScreen, ScreenPtr,
WA_ScreenTitle, "Report+",
WA_Title, "Report+: EOL/Tab Converter",
WA_Activate, TRUE,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_CloseGadget, TRUE,
WA_SizeGadget, TRUE,
WA_IDCMP, IDCMP_RAWKEY,
WINDOW_IDCMPHook, &Hook7Struct,
WINDOW_IDCMPHookBits, IDCMP_RAWKEY,
WINDOW_MenuStrip, MenuPtr,
WINDOW_Position, WPOS_CENTERSCREEN,
WINDOW_ParentGroup, eol_gadgets[GID_7_LY1] =
NewObject(LAYOUT_GetClass(), NULL,
// root-layout
LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_DeferLayout, TRUE,
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_NONE,
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_FIELD,
LAYOUT_AddImage, NewObject
( LABEL_GetClass(), NULL,
LABEL_Text, "_Source:",
LABEL_Justification, LJ_CENTER,
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, eol_gadgets[GID_7_RA1] =
NewObject
( RADIOBUTTON_GetClass(),NULL,
GA_ID, GID_7_RA1,
GA_RelVerify, TRUE,
GA_Text, EOLOptions,
RADIOBUTTON_Selected, (WORD) eol.source,
TAG_END),
TAG_END),
CHILD_WeightedWidth, 50,
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_FIELD,
LAYOUT_AddImage, NewObject
( LABEL_GetClass(), NULL,
LABEL_Text, "_Destination:",
LABEL_Justification, LJ_CENTER,
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, eol_gadgets[GID_7_RA2] =
NewObject
( RADIOBUTTON_GetClass(),NULL,
GA_ID, GID_7_RA2,
GA_RelVerify, TRUE,
GA_Text, EOLOptions,
RADIOBUTTON_Selected, (WORD) eol.dest,
TAG_END),
TAG_END),
CHILD_WeightedWidth, 50,
TAG_END),
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_NONE,
LAYOUT_AddChild, eol_gadgets[GID_7_CB1] =
NewObject
( CHECKBOX_GetClass(), NULL,
GA_ID, GID_7_CB2,
GA_RelVerify, TRUE,
GA_Text, "C_onvert tabs to spaces?",
GA_Selected, (BOOL) eol.detabulate,
TAG_END),
CHILD_WeightedWidth, 0,
LAYOUT_AddImage,
NewObject
( LABEL_GetClass(), NULL,
LABEL_Text, "",
TAG_END),
CHILD_WeightedWidth, 100,
LAYOUT_AddImage,
NewObject
( LABEL_GetClass(), NULL,
LABEL_Text, "_Tab size:",
TAG_END),
CHILD_WeightedWidth, 0,
LAYOUT_AddChild, eol_gadgets[GID_7_IN1] =
NewObject
( INTEGER_GetClass(), NULL,
GA_ID, GID_7_IN1,
GA_RelVerify, TRUE,
GA_TabCycle, TRUE,
INTEGER_Number, eol.tabsize,
INTEGER_Minimum, 0,
INTEGER_Maximum, 99,
INTEGER_MinVisible, 2,
TAG_END),
CHILD_WeightedWidth, 0,
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, eol_gadgets[GID_7_CB2] =
NewObject
( CHECKBOX_GetClass(), NULL,
GA_ID, GID_7_CB2,
GA_RelVerify, TRUE,
GA_Text, "_Unwrap words?",
GA_Selected, (BOOL) eol.unwrap,
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_FIELD,
LAYOUT_AddImage,
NewObject
( LABEL_GetClass(), NULL,
LABEL_Text, "_Pathname(s):",
LABEL_Justification,LJ_LEFT,
TAG_END),
LAYOUT_AddChild, eol_gadgets[GID_7_ST1] =
NewObject
( STRING_GetClass(), NULL,
GA_ID, GID_7_ST1,
GA_RelVerify, TRUE,
STRINGA_TextVal, eol.pathname,
STRINGA_MinVisible,20,
TAG_END),
LAYOUT_AddChild, eol_gadgets[GID_7_BU1] =
NewObject
( NULL, "button.gadget",
GA_ID, GID_7_BU1,
GA_RelVerify, TRUE,
BUTTON_AutoButton,BAG_POPFILE,
TAG_END),
CHILD_WeightedWidth, 0,
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, eol_gadgets[GID_7_ST2] =
NewObject(STRING_GetClass(), NULL,
GA_ReadOnly, TRUE,
GA_ID, GID_7_ST2,
STRINGA_TextVal, "Ready.",
TAG_END),
CHILD_WeightedHeight, 0,
LAYOUT_AddChild,
NewObject
( LAYOUT_GetClass(), NULL,
LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_HorizAlignment,LALIGN_CENTER,
LAYOUT_BevelStyle, BVS_NONE,
LAYOUT_AddChild, eol_gadgets[GID_7_BU3] =
NewObject(NULL, "button.gadget",
GA_ID, GID_7_BU3,
GA_RelVerify, TRUE,
GA_Text, "Pro_cess",
TAG_END),
CHILD_WeightedWidth, 50,
LAYOUT_AddChild, eol_gadgets[GID_7_BU4] =
NewObject(NULL, "button.gadget",
GA_ID, GID_7_BU4,
GA_RelVerify, TRUE,
GA_Text, "Stop",
GA_Disabled, TRUE,
TAG_END),
CHILD_WeightedWidth, 50,
TAG_END),
CHILD_WeightedHeight, 0,
TAG_END)
)))
{ rq("Can't create ReAction objects!");
}
unlockscreen();
openwindow();
ActivateLayoutGadget(eol_gadgets[GID_7_LY1], MainWindowPtr, NULL, (Object) eol_gadgets[GID_7_ST1]);
loop();
closewindow();
}
AGLOBAL void eol_do(void)
{ STRPTR stringptr;
if (!(GetAttr
( STRINGA_TextVal, eol_gadgets[GID_7_ST1], (ULONG *) &stringptr
)))
{ rq("Unsupported inquiry!"); // should never happen
}
strcpy(eol.pathname, stringptr);
if (!(GetAttr
( INTEGER_Number, eol_gadgets[GID_7_IN1], (ULONG *) &eol.tabsize
)))
{ rq("Unsupported inquiry!"); // should never happen
}
SetGadgetAttrs
( eol_gadgets[GID_7_BU4], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_RA1], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_RA2], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_ST1], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_BU1], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_CB1], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_CB2], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_IN1], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_BU3], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
strcpy(shared.pathname, eol.pathname);
convert(TRUE);
strcpy(eol.pathname, shared.pathname);
if (!stop)
{ SetGadgetAttrs
( eol_gadgets[GID_7_ST2], MainWindowPtr, NULL,
STRINGA_TextVal, "All done.",
TAG_END);
}
SetGadgetAttrs
( eol_gadgets[GID_7_BU4], MainWindowPtr, NULL,
GA_Disabled, TRUE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_RA1], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_RA2], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_ST1], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_BU1], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_CB1], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_CB2], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_IN1], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
SetGadgetAttrs
( eol_gadgets[GID_7_BU3], MainWindowPtr, NULL,
GA_Disabled, FALSE,
TAG_END);
}
AGLOBAL void eolconvert(ABOOL gui)
{ ULONG gap, i, j, cursorx = 0;
ABOOL ok = TRUE;
struct FileInfoBlock InputInfoBlock;
UBYTE* InputBufferPtr; // always use UBYTE not APTR for pointer arithmetic
BPTR FileHandle;
TEXT saystring[VLONGFIELD + 1];
strcpy(saystring, "Converting ");
strcat(saystring, shared.thisfile);
strcat(saystring, "...");
if (gui)
{ SetGadgetAttrs
( eol_gadgets[GID_7_ST2], MainWindowPtr, NULL,
STRINGA_TextVal, saystring,
TAG_END);
} else
{ Printf("%s", saystring);
Flush(Output());
}
if (FileHandle = (BPTR) Lock(shared.thisfile, ACCESS_READ))
{ if (Examine(FileHandle, &InputInfoBlock))
{ UnLock(FileHandle);
// FileHandle = NULL;
if (InputInfoBlock.fib_DirEntryType == -3) // if a file
{ // if it is a directory, we would ideally like to convert all
// files in that directory. We also should support links.
if (InputBufferPtr = AllocMem(InputInfoBlock.fib_Size, MEMF_ANY | MEMF_PUBLIC))
{ if (FileHandle = (BPTR) Open(shared.thisfile, MODE_OLDFILE))
{ if (Read(FileHandle, InputBufferPtr, InputInfoBlock.fib_Size) != -1)
{ Close(FileHandle);
if (FileHandle = (BPTR) Open(shared.thisfile, MODE_NEWFILE))
{ for (i = 0; i < InputInfoBlock.fib_Size; i++)
{ if (*(InputBufferPtr + i) == LF)
{ if (eol.unwrap && (eol.source == AMIGA || eol.source == IBM) && spaceeol(*(InputBufferPtr + i + 1)))
{ cursorx++;
FPutC(FileHandle, ' ');
} else
{ cursorx = 0;
if (eol.source == eol.dest)
FPutC(FileHandle, LF); // pass it through
elif (eol.source == AMIGA && eol.dest == IBM)
{ FPutC(FileHandle, CR); // add this
FPutC(FileHandle, LF); // and pass this through
} elif (eol.source == AMIGA && eol.dest == MAC)
FPutC(FileHandle, CR); // convert from LF to CR
elif (eol.source == IBM && eol.dest == AMIGA)
FPutC(FileHandle, LF); // pass it through
elif (eol.source == IBM && eol.dest == MAC)
; // do nothing
else ; // mac as source: we never expect LFs
} }
elif (*(InputBufferPtr + i) == CR)
{ if (eol.unwrap && eol.source == MAC && spaceeol(*(InputBufferPtr + i + 1)))
{ cursorx++;
FPutC(FileHandle, ' ');
} else
{ cursorx = 0;
if (eol.source == eol.dest)
FPutC(FileHandle, CR); // pass it through
elif (eol.source == IBM && eol.dest == AMIGA)
; // do nothing
elif (eol.source == IBM && eol.dest == MAC)
FPutC(FileHandle, CR); // pass it through
elif (eol.source == MAC && eol.dest == AMIGA)
FPutC(FileHandle, LF); // convert from CR to LF
elif (eol.source == MAC && eol.dest == IBM)
{ FPutC(FileHandle, CR); // pass this through
FPutC(FileHandle, LF); // and add this
} else ; // amiga as source: we never expect CRs
} }
elif (*(InputBufferPtr + i) == TAB)
{ if (eol.detabulate)
{ gap = (((cursorx / eol.tabsize) + 1) * eol.tabsize) - cursorx;
for (j = 1; j <= gap; j++)
FPutC(FileHandle, ' ');
cursorx += gap;
} else FPutC(FileHandle, TAB); // no point to cursorx in non-detabulate
} else
{ FPutC(FileHandle, *(InputBufferPtr + i));
cursorx++;
} }
/* Note that FPutC() returns EOF for errors; this is not currently
checked. */
ok = TRUE;
Close(FileHandle);
} }
else
{ Close(FileHandle);
} }
FreeMem(InputBufferPtr, InputInfoBlock.fib_Size);
} } }
else
{ UnLock(FileHandle);
} }
if (gui)
{ if (ok)
strcat(saystring, "done.");
else strcat(saystring, "failed!");
SetGadgetAttrs
( eol_gadgets[GID_7_ST2], MainWindowPtr, NULL,
STRINGA_TextVal, saystring,
TAG_END);
} else
{ if (ok)
Printf("done.\n");
else Printf("failed!\n");
}
checkabort(gui);
}
AGLOBAL void eol_loop(ULONG gid)
{ STRPTR stringptr;
switch(gid)
{
case GID_7_RA1:
if (!(GetAttr
( RADIOBUTTON_Selected, eol_gadgets[GID_7_RA1], (ULONG *) &eol.source
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case GID_7_RA2:
if (!(GetAttr
( RADIOBUTTON_Selected, eol_gadgets[GID_7_RA2], (ULONG *) &eol.dest
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case GID_7_ST1:
if (!(GetAttr
( STRINGA_TextVal, eol_gadgets[GID_7_ST1], (ULONG *) &stringptr
)))
{ rq("Unsupported inquiry!"); // should never happen
}
strcpy(eol.pathname, stringptr);
break;
case GID_7_BU1:
strcpy(shared.pathname, eol.pathname);
multiasl("#?.info");
strcpy(eol.pathname, shared.pathname);
SetGadgetAttrs
( eol_gadgets[GID_7_ST1], MainWindowPtr, NULL,
STRINGA_TextVal, eol.pathname,
TAG_END
);
break;
case GID_7_BU3:
eol_do();
break;
case GID_7_CB1:
if (!(GetAttr
( GA_Selected, eol_gadgets[GID_7_CB1], (ULONG *) &eol.detabulate
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case GID_7_CB2:
if (!(GetAttr
( GA_Selected, eol_gadgets[GID_7_CB2], (ULONG *) &eol.unwrap
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case GID_7_IN1:
if (!(GetAttr
( INTEGER_Number, eol_gadgets[GID_7_IN1], (ULONG *) &eol.tabsize
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
default:
break;
} }
MODULE ABOOL spaceeol(TEXT nextchar)
{ if
( nextchar == ' '
|| nextchar == TAB
|| nextchar == LF
|| nextchar == CR
)
{ return(FALSE);
} else return(TRUE);
}
AGLOBAL void eol_die(void)
{ IOBuffer[1] = (UBYTE) eol.source;
IOBuffer[2] = (UBYTE) eol.dest;
IOBuffer[3] = (UBYTE) eol.detabulate;
IOBuffer[4] = (UBYTE) eol.tabsize;
IOBuffer[5] = (UBYTE) eol.unwrap;
}
AGLOBAL void eol_config(void)
{ eol.source = (ULONG) IOBuffer[1];
eol.dest = (ULONG) IOBuffer[2];
eol.detabulate = (ULONG) IOBuffer[3];
eol.tabsize = (ULONG) IOBuffer[4];
eol.unwrap = (ULONG) IOBuffer[5];
}
AGLOBAL ULONG Hook7Func(struct Hook *h, VOID *o, VOID *msg)
{ /* "When the hook is called, the data argument points to the
window object and message argument to the IntuiMessage." */
UWORD code, qual;
geta4(); // wait till here before doing anything
code = ((struct IntuiMessage *) msg)->Code;
qual = ((struct IntuiMessage *) msg)->Qualifier;
switch(code)
{
case SCAN_HELP:
helpabout();
break;
case SCAN_ESCAPE:
if ((qual & IEQUALIFIER_LSHIFT) || (qual & IEQUALIFIER_RSHIFT))
{ cleanexit(EXIT_SUCCESS);
} else page = 0;
break;
case SCAN_D:
if (!(qual & IEQUALIFIER_LSHIFT) && !(qual & IEQUALIFIER_RSHIFT))
{ if (eol.dest < 2)
eol.dest++;
else eol.dest = 0;
} else
{ if (eol.dest > 0)
eol.dest--;
else eol.dest = 2;
}
SetGadgetAttrs
( eol_gadgets[GID_7_RA2], MainWindowPtr, NULL,
RADIOBUTTON_Selected, eol.dest,
TAG_END);
// we must explicitly refresh
RefreshGadgets((struct Gadget *) eol_gadgets[GID_7_RA2], MainWindowPtr, NULL);
break;
case SCAN_O:
// the gadget is handled automatically by the system, all we need
// to do is update our internal record of the state of the gadget
if (!(GetAttr
( GA_Selected, eol_gadgets[GID_7_CB1], (ULONG *) &eol.detabulate
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case SCAN_P:
ActivateLayoutGadget(eol_gadgets[GID_7_LY1], MainWindowPtr, NULL, (Object) eol_gadgets[GID_7_ST1]);
break;
case SCAN_S:
if (!(qual & IEQUALIFIER_LSHIFT) && !(qual & IEQUALIFIER_RSHIFT))
{ if (eol.source < 2)
eol.source++;
else eol.source = 0;
} else
{ if (eol.source > 0)
eol.source--;
else eol.source = 2;
}
SetGadgetAttrs
( eol_gadgets[GID_7_RA1], MainWindowPtr, NULL,
RADIOBUTTON_Selected, eol.source,
TAG_END);
// we must explicitly refresh
RefreshGadgets((struct Gadget *) eol_gadgets[GID_7_RA1], MainWindowPtr, NULL);
break;
case SCAN_T:
ActivateLayoutGadget(eol_gadgets[GID_7_LY1], MainWindowPtr, NULL, (Object) eol_gadgets[GID_7_IN1]);
break;
case SCAN_U:
// the gadget is handled automatically by the system, all we need
// to do is update our internal record of the state of the gadget
if (!(GetAttr
( GA_Selected, eol_gadgets[GID_7_CB2], (ULONG *) &eol.unwrap
)))
{ rq("Unsupported inquiry!"); // should never happen
}
break;
case SCAN_PERIOD:
strcpy(shared.pathname, eol.pathname);
multiasl("~(#?.info)");
strcpy(eol.pathname, shared.pathname);
SetGadgetAttrs
( eol_gadgets[GID_7_ST1], MainWindowPtr, NULL,
STRINGA_TextVal, eol.pathname,
TAG_END);
break;
default:
break;
}
return(1);
}